package cn.wujiangbo.domain.app;

import java.math.BigDecimal;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import java.time.LocalDateTime;
import java.io.Serializable;
import com.baomidou.mybatisplus.annotation.TableField;
import cn.wujiangbo.domain.base.BaseDomain;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * <p>
 * APP用户信息表
 * </p>
 *
 * @Author 波波老师(weixin:javabobo0513)
 * @date 2024-11-07
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@ApiModel(value="app_user 表对应的实体对象", description="APP用户信息表")
public class AppUser extends BaseDomain implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "主键ID")
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    @ApiModelProperty(value = "更新时间")
    @TableField(value = "update_time")
    private LocalDateTime updateTime;

    @ApiModelProperty(value = "登录账号")
    @TableField(value = "login_name")
    private String loginName;

    @ApiModelProperty(value = "登录密码")
    @TableField(value = "login_pass")
    private String loginPass;

    @ApiModelProperty(value = "昵称")
    @TableField(value = "nick_name")
    private String nickName;

    @ApiModelProperty(value = "用户头像")
    @TableField(value = "user_img")
    private String userImg;

    @ApiModelProperty(value = "用户性别（0：男；1：女）")
    @TableField(value = "user_sex")
    private Integer userSex;

    @ApiModelProperty(value = "用户手机号")
    @TableField(value = "user_phone")
    private String userPhone;

    @ApiModelProperty(value = "用户状态（1：正常；2：限制登录）")
    @TableField(value = "user_status")
    private Integer userStatus;

    @ApiModelProperty(value = "限制登录原因")
    @TableField(value = "user_error")
    private String userError;

    @ApiModelProperty(value = "用户个人简介")
    @TableField(value = "user_brief")
    private String userBrief;

    @ApiModelProperty(value = "最后一次登录时间")
    @TableField(value = "last_login_time")
    private LocalDateTime lastLoginTime;

    @ApiModelProperty(value = "注册时间")
    @TableField(value = "register_time")
    private LocalDateTime registerTime;

    @ApiModelProperty(value = "账户余额")
    @TableField(value = "user_money")
    private BigDecimal userMoney;

    @ApiModelProperty(value = "是否是管理员（1：是；2：否）")
    @TableField(value = "admin_flag")
    private Integer adminFlag;

    /***********************************************************************************
     ***********************************************************************************/

    @ApiModelProperty(value = "新密码")
    @TableField(exist = false)
    private String password2;

    @ApiModelProperty(value = "短信验证码")
    @TableField(exist = false)
    private String smsCode;
}